<?php

namespace app\system\controller;

use app\system\model\DeptModel;
use think\App;

/**
 * 部门信息
 *
 * @author xuxiwang
 */
class Dept extends Base
{
    private $deptModel;

    public function __construct(App $app)
    {
        parent::__construct($app);
        $this->deptModel = new DeptModel();
    }

    /**
     * 获取部门列表
     */
    public function list()
    {
        $dataList = $this->deptModel->select();

        $returnData = [
            'code'=> 200,
            'msg'=> '操作成功',
            'data'=> $dataList
        ];
        return json($returnData);
    }

    /**
     * 查询部门列表（排除节点）
     */
    public function excludeChild()
    {

    }

    /**
     * 根据部门编号获取详细信息
     */
    public function getInfo($id): \think\response\Json
    {
        $info = $this->deptModel->find($id);
        $returnData = [
            'code'=> 200,
            'msg'=> '操作成功',
            'data'=> $info
        ];
        return json($returnData);
    }

    /**
     * 新增部门
     */
    public function add()
    {

    }

    /**
     * 修改部门
     */
    public function edit()
    {
        $param = $this->request->param();

        $info = $this->deptModel
            ->update($param);
        $returnData = [
            'code'=> 200,
            'msg'=> '操作成功',
//            'data'=> $info
        ];
        return json($returnData);
    }

    /**
     * 删除部门
     */
    public function remove($id)
    {
//        $info = $this->deptModel->destroy($id);
        $info = $this->deptModel
            ->where('dept_id', '=', $id)
            ->save(['del_flag'=> 1]);
        $returnData = [
            'code'=> 200,
            'msg'=> '操作成功',
//            'data'=> $info
        ];
        return json($returnData);
    }
}